Cloud computing is to distribute a computing task to distributed virtual computing resources, so that an enterprise or a user can switch the resources to different required applications by using a network central data center, to access different computer and storage systems as required. Cloud computing is a result of development and convergence of conventional computer and network technologies such as distributed computing, parallel computing, utility computing, network storage, virtualization, and load balance.
A cloud computing system, as a very complicated large software system, includes many modules and components. A cloud architecture falls into two major parts in total: service and management. In terms of service, the cloud architecture mainly provide a user with various cloud-based services, which include three layers in total. The first layer is software as a service (SaaS), and a function of this layer is to provide an application for a client mainly in a Web-based manner; the second layer is platform as a service (PaaS), and a function of this layer is to provide a development and deployment platform as a service for a user; the third layer is infrastructure as a service (IaaS), and a function of this layer is to provide various bottom-layer resources such as a computing resource (for example, a virtual machine) and a storage resource as a service for a user. From the perspective of a user, services at the three layers are independent, because the services provided by the three layers are completely different, and are not intended for same users. However, from a technological perspective, there is a particular dependency among the three layers of the cloud service. For example, a product and service of the SaaS layer not only require a technology of the SaaS layer, but also depend on the development and deployment platform provided by the PaaS layer, or are directly deployed on the computing resource provided by the IaaS layer; and a product and service of the PaaS layer are also likely to be constructed on a service of the IaaS layer. A management aspect mainly involves a cloud management layer, and its function is to ensure that the entire cloud computing system can run safely and stably and can be effectively managed.
As cloud computing technologies gradually mature, IT and CT fields converge and are integrated. To cope with future competition and challenges, CT operators comply with a current technology development trend of virtualization and cloud computing, and propose a network functions virtualization (NFV) architecture in an ICT field. Reference may be made to FIG. 1 for a schematic structural diagram of the architecture. In the new architecture, functional objects such as a network functions virtualization infrastructure (NFVI), a virtualized infrastructure manager VIM, a virtualized network function manager (VNFM), a network functions virtualization orchestrator (NFVO), and a virtualized network function VNF are defined. The NFVI provides a cloudified infrastructure layer, the VNF is a cloudified network element application, the virtualized infrastructure manager VIM is responsible for infrastructure layer management, the VNFM is responsible for VNF lifecycle management, and the NFVO is responsible for service lifecycle management. An E/NMS is a network management system of a conventional CT telecommunications network element; an OSS/BSS is a network management system of a cloud system. Deployment and operation behaviors for each VNF are described by using a VNFD template and stored in a VNF catalog.
An NFVI resource is allocated to a VNF based on a requirement described in a VNFD and in consideration of a specific requirement, a constraint, and a strategy that are preset. As telecommunications services increase, in an architecture of NFV MANO, operators recognize that an accelerator is a key element of the NFVI, and is as important as a CPU, a network interface card (NIC), and a memory. The NFV MANO is a unit including at least the NFVO, the VNF, the VNF catalog, and the VIM. According to a prediction in the industry on data traffic in a next decade (increasing by 100 to 200 times), it is conservatively estimated that a capability of a single server in the future needs to be increased by 10 times without considering factors such as an increase in a device scale, and this is also a capability demand for each CPU. By means of data platform development kit (DPDK) optimization, software performance optimization, and the like, the capability can be improved by a maximum of 4 to 5 times, which is far from achieving the server capability demand. The entire industry actively tries to resolve such a huge performance difference by means of System-on-a-Chip (SOC), hardware acceleration, and the like.
In an existing architecture, the MANO knows nothing about a situation about a to-be-accelerated resource in the VNF and an acceleration unit of a Host. In the prior art, in a process of deploying a VNF onto a Host, the VNF is randomly or sequentially deployed onto a Host of each DC. In a solution in the prior art, a type of a resource that needs to be accelerated in the VNF cannot match a type of an acceleration resource that can be provided by the Host of the VNF; therefore, it is liable that a type of a to-be-accelerated resource in the VNF does not match a type of an acceleration resource of a host onto which the VNF is deployed, so that the acceleration resource of the Host in which the VNF is located cannot meet an acceleration requirement of the VNF, thereby deteriorating performance of the VNF.